1. Field of the Invention
The present invention generally relates to real-time collaboration and, more particularly, to handling events which can be either XML (eXtensible Markup Language) based or data object based, using xe2x80x9cAwareletsxe2x80x9d that are either visual or non-visual event handlers. The invention provides a mechanism, realized in software, for building and deploying Awarelets.
2. Background Description
Many e-business and e-commerce solutions seek real-time collaboration capabilities to support on-line communities and collaborative business processes. The real-time collaboration in such solutions must be manifested through an awareness of the xe2x80x9cpoint-of-presencexe2x80x9d (client side) of the participants and the ability to channel services of interest to the participants.
When a user is considered to be xe2x80x9conlinexe2x80x9d, that end user has a client application which represents the end user""s point of presence connection to an online community server, or awareness server (server side) which manages a community of users. The end user interacts with other end users, typically by sending and receiving simple text messages in real time, via the point of presence connection to the server.
A common scenario today is where users are connected to the Internet via Web browsers. In this scenario, the user must xe2x80x9cpullxe2x80x9d (request) the information; sites cannot xe2x80x9cpushxe2x80x9d (send unsolicited) information. There are exceptions to this, such as instant messaging, but most involve an explicit agreement by the user to accept unsolicited data.
The ability to pass data between users in a community without explicitly requesting each piece of data is part of the concept of real-time collaboration. More broadly, collaboration is the real time sharing of information among a set of users who define a community. There is a large amount of software that currently provides collaboration in one form or another. The following set of examples is by no means inclusive or particularly representative; they merely demonstrate some of the currently available products.
Instant Messaging infrastructures like those provided by America Online (AOL), Lotus(copyright) Sametime, ICQ, Microsoft(copyright) MSN Messenger and others are the prior art targeted for improvement by this invention. The prior art typically provides instant messaging and primarily allows for simple real-time adhoc collaborations within an online community by passing simple text messages between the users. In addition, Instant Messaging infrastructures, as provided by AOL, provide for a notion of user groups, sometimes called buddy lists, which are users that a user typically interacts with. In essence, AOL Instant Messenger provides the capability of generating ad hoc private chat rooms. These simple groupings are managed by the user, and are not really part of the underlying system.
Traditionally, business driven collaborations involve more complex interactions and the exchange of more complex messages between multiple role players, as well as business applications and processes. The lack of ability to pass complex messages, in the prior art, between the users limits the potential of creating more complex interactions or collaborations between the users. The prior art typically does not address such complex collaborations, primarily due to three fundamental factors. First of all, the simple text messages passed between users are not sophisticated enough to allow for complex message processing. Second, the notion of buddies and groups does not support a more powerful notion of role players. Third, the members of the online community in the prior art consist of end users only, and applications or processes are not engaged during these simple adhoc collaborations.
The systems of the prior art only allow end users to interact with each other by sending and receiving simple text messages in a chat room-like environment. Sometimes there is a mechanism to allow end users to share applications and transfer files as well, but application sharing and file transfer are not addressed in this disclosure.
It is therefore an object of the invention to solve the real-time collaboration problem through xe2x80x9cAwareletsxe2x80x9d that are either visual or non-visual event handlers. Events can be XML (eXtensible Markup Language) based or data object based. The invention provides a mechanism, realized in software, for building and deploying Awarelets. Solution and application developers will be able to customize and integrate Awarelets to realize real-time collaborative solutions using an open standard such as XML to define the real-time events of interest.
It is another object of this invention to provide a framework to handle more complex types of data exchange that are handled by the Awarelets, as described below. The present invention enhances the notion of exchanging messages by allowing more complex messages to be sent and received by end users and applications.
Awarelet Technology is designed to enhance the prior art of Instant Messaging in order to facilitate more robust interactions between members of the online community. The members of the online community are typically just end users in the prior art; however, this invention considers not only users as members, but in addition, business applications and processes as well.
The present invention aims to solve the problems stemming from lack of support for business related collaborations in the prior art. Awarelet Technology allows for the creation of real-time business related collaborations in order for the members of an online community to exchange business events and context. Awarelet Technology brings the notion of context and structure to the members of online communities and can be used to construct powerful real-time business related collaborations.
Awarelet Technology leverages the prior art by reusing the communication infrastructure provided by the prior art. Awarelet Technology extends the prior art in order to facilitate more robust collaborations between the members of the online community by allowing complex data objects or XML based events to be exchanged, processed, and rendered within the online community.
According to the invention, a software framework provides building blocks for developing XML-based or data object based event handlers and a mechanism for dynamically deploying and managing them. The complex data to be sent/received among users and applications can be described in XML or actual Java objects. It should be understood that while the description below primarily discusses XML based events, these can always be replaced by data object based events. One skilled in the art would understand how to represent this complex data in other formats, as they become available with new languages and technologies. The software framework is composed of the following principal components:
Awarelet Base,
Awarelet Container,
Awarelet Application Adapter,
Awarelet Event,
Awarelet Configuration, and
Awarelet Repository.
This rich collaboration potential between members of an online community can be realized by developers who will use this general purpose framework to derive Awarelets from the Awarelet Base, which will ultimately be manifesting the behavior of the desired collaboration. A developer will design and implement Awarelets at build time, and then deploy and configure the Awarelets into a runtime instantiation of one of the prior art awareness engines like, AOL instant messaging, Lotus(copyright) Sametime, Microsoft(copyright) MSN Messenger, ICQ, etc. Since a framework will be in place to support the building and deployment of Awarelets, developers of new Awarelets should be able to easily build and deploy these new Awarelets.
A framework provided by this invention allows Awarelets, i.e., message/event handlers for point of presence awareness applications, to be developed. The Awarelets subscribe to specific events, e.g., Awarelet events, process and perhaps render the complex event type to the end user. The end user can also interact with the rendered event and resolve the event depending on the customized event handling designed into the Awarelet, residing in an Awarelet Container, by the Awarelet developer. Further, the Awarelets developed and added to an Awarelet Repository can be configured to be dynamically deployed to members of the online community, based on user, role or place. This allows the distribution of Awarelets to members of the community to be driven by a centralized management scheme via the Awarelet Repository and Awarelet Configuration.
In the preferred embodiment, the Awarelet Container uses the Java(trademark) InfoBus as an information bus. The InfoBus provides the ability to pass information among objects without the objects having direct communication with one another. Information is placed on or removed from the InfoBus without the accessing object necessarily knowing where the information came from. This is attractive since all objects need only know one central object rather than requiring a complex communications network.
The Awarelet Application Adapter is the base class for bi-directional mediation between the underlying communication mechanisms and the derived Awarelets. The developer derives a customized derived Awarelet Application Adapter to act as mediator for a specific collaboration infrastructure as an instantiation of the mediation means. The mediator, e.g., derived Awarelet Application Adapter, extracts events from the communication mechanism and delivers the events to derived Awarelets via the Awarelet Container. The derived Awarelets process the events in a desired manner based on the designed behavior of the derived Awarelet.